iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 0
0
自我挑戰組

我的 Git 學習歷程系列 第 24

分支系列-5:如何合併分支?

  • 分享至 

  • xImage
  •  

角色情境

小明同時學會輸入指令操作著終端機、
以及透過滑鼠操作著圖像化介面的 Sourcetree 軟體,
又完成一項如何操作分支的概念,信心也逐漸大增。

小明:「完成了。切換成功。」
小明:「不過我很好奇,分支的任務完成以後,是如何更新主線的內容呢?」
小華:「這是個很好的問題喔~」
小華:「嗯...我來想想要怎麼說明...分成兩個假設吧!」
小華:「假設今天不需要保留合併後的分支,那麼如何操作呢?」
小華:「這個合併模式又稱作「快轉模式」...」


快轉模式(Fast Forward)是什麼?

Git 在合併分支的時候,若沒有遇到衝突,都是採取「快轉模式」。
快轉模式就是「Git 在合併的過程中,依序套用新分支所產生的變更」。
例如:修改 Master 分支的 HEAD 指標,直接移動至新分支的 HEAD 指標版本。

https://ithelp.ithome.com.tw/upload/images/20201005/201302451FaifPE2Mx.png


如何透過終端機合併分支(快轉模式)?

在 Windows 作業系統,透過命令提示字元或 PowerShell 開啟類似終端機的視窗。
在 Mac OS 作業系統,透過終端機或 iTerm 開啟終端機的視窗。

請依照下列的步驟執行,透過指令合併分支囉:
(步驟一) 請打開終端機的視窗。
(步驟二) 前往工作目錄,請輸入指令:cd "目錄的名稱"
(步驟三) 確認目前的分支名稱。例如:git:(master) 代表目前在 master 分支。
(步驟四) 輸入指令,合併分支:git merge 分支名稱


練習 Git 分支的線上服務 Learn Git Branching 的圖像為?

Learn Git Branching 的圖像化,瞭解 HEAD 指標的動向。
星號 * 代表「目前所在位置於這個分支上面,同時代表 HEAD 指標的動向」。
依照上述的終端機指令,產生的結果如圖示:

https://ithelp.ithome.com.tw/upload/images/20201005/20130245AJhsqoXfzC.png


如何透過圖像化介面的 Sourcetree 軟體合併分支(快轉模式)?

請依照下列的步驟執行,透過滑鼠操控介面,合併分支 dev:
(步驟一) 點擊 Sourcetree 軟體圖示,開啟舊目錄。
(步驟二) 查看左側項目,點選 History 項目。
(步驟三) 確認目前的分支名稱。例如:master 分支。
(步驟四) 選擇上方列的 Merge 圖示。
(步驟五) 跳出視窗,選擇「Merge From Log」選項。
(步驟六) 點選欲合併的分支名稱。例如:dev 分支。
(步驟七) 快轉模式勾選「Commit merge immediately (if no conflicts)」項目,點擊 OK 按鈕,合併完成。
(步驟八) 點擊 VSCode 圖示,開啟舊目錄,確認合併後的程式碼內容。

https://ithelp.ithome.com.tw/upload/images/20201005/20130245vu7gUNkHzu.png

恭喜 d(・∀・)b ~完成合併分支的快轉模式概念。
接下來,另一個關於合併的方法,是什麼呢?


參考來源

(1) Will 保哥 - git merge 與 rebase 的觀念與實務應用
(2) Bitbucket - Fast Forward Merge
(3) 高見龍 -【狀況題】為什麼我的分支都沒有「小耳朵」?
(4) 高見龍 - 合併分支


上一篇
分支系列-4:如何切換分支?
下一篇
分支系列 - 6:如何保留合併後的分支?試試非快轉模式吧!
系列文
我的 Git 學習歷程32
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言